using System;
using Impact.Model.Objects;

namespace Impact.Model.Service
{
    public interface IProfileService
    {


        /// <summary>
        /// fetch a single profile for modification
        /// </summary>
        Profile FetchProfile( int profileId );
        Profile FetchProfile( string columnName, string value );

        /// <summary>
        /// retrieve all Profile for view only
        /// </summary>
        /// <returns></returns>
        ProfileCollection FetchProfiles( bool onlyEnabled );

        /// <summary>
        /// save the given page with the given userId as responsible for the changes
        /// </summary>
        void Save( Profile profile, Guid userId );


        void Remove( int profileId );

    }
}
